/-editor ...
CodeMirrorEditor.ts
CompletionCodeMirrorEditor.ts
CssEditorType.ts
Editor.ts
EditorType.ts
HtmlEditorType.ts
JavaScriptEditorType.ts
TypeScriptEditorType.ts
x-last-PlainTextEditorType.ts
/-files
/-imports
/-layout
/-typings
TypeScriptService.ts
ko.ts
persistence.ts
shell.ts
teapo.html
teapo.js
teapo.ts
153
      this._positionSaveTimeout = setTimeout(this._positionSaveClosure, CodeMirrorEditor.positionSaveDelay);
 
1
module teapo {
2
3
  export class CompletionCodeMirrorEditor extends CodeMirrorEditor {
4
5
    static completionDelay = 400;
6
7
    private _completionTimeout = 0;
8
    private _completionClosure = () => this._performCompletion();
9
    private _forcedCompletion = false;
10
    private _acceptSingleCompletion = false;
11
    private static _noSingleAutoCompletion = { completeSingle: false };
12
    private _positionSaveTimeout = 0;
13
    private _positionSaveClosure = () => this._performPositionSave();
14
    private _triggerCompletionPos: CodeMirror.Pos = null;
15
16
    constructor(
17
      shared: CodeMirrorEditor.SharedState,
18
      docState: DocumentState) {
19
      super(CompletionCodeMirrorEditor.injectCompletionShortcuts(shared), docState);
20
    }
21
22
    /**
23
     * Subscribing to cursor activity.
24
     */
25
    handleLoad() {
26
      super.handleLoad(); // fetches the text from docState
27
28
      CodeMirror.on(
29
        this.doc(),
30
        'cursorActivity', (instance) => this._oncursorActivity());
31
    }
32
33
    handleClose() {
34
35
      // completion should be cancelled outright
36
      if (this._completionTimeout) {
37
        clearTimeout(this._completionTimeout);
38
39
        this._completionTimeout = 0;
40
      }
41
    }
42
43
    handleCursorActivity() {
44
    }
45
46
    handlePerformCompletion(forced: boolean, acceptSingle: boolean) {
47
    }
48
49
    handleChange(change: CodeMirror.EditorChange) {
50
      this.triggerCompletion(false);
51
    }
52
53
    triggerCompletion(forced: boolean, acceptSingle = false) {
54
      if (this._completionTimeout)
55
        clearTimeout(this._completionTimeout);
56
57
      if (forced)
58
        this._forcedCompletion = true;
59
      if (acceptSingle)
60
        this._acceptSingleCompletion = true;
61
62
      var delay = forced ? 1 : CompletionCodeMirrorEditor.completionDelay;
18:84